Skip to main content
Version: 8.4.08.4

FutOrderGateway

V8 Message Definiton

Records inserted, updated, or replaced into the FutureOrderGateway table are validated and then converted to SpdrParentOrder records and forwarded to the appropriate execution engine for futher processing. Parent orders can be inserted as either active/ready or in a wait start mode that requires subsequent release.\nSee the SpiderRock Execution Engine concept guide for more details.

METADATA

AttributeValue
Topic5120-srse-gateway
MLink TokenSystemData
ProductSRTrade
accessTypeSELECT,UPDATE(spdrActionType),INSERT,DELETE

Table Definition

FieldTypeKeyDefault ValueComment
fkey_atenum - AssetTypePRI'None'
fkey_tsenum - TickerSrcPRI'None'
fkey_tkVARCHAR(12)PRI''
fkey_yrSMALLINT UNSIGNEDPRI0
fkey_mnTINYINT UNSIGNEDPRI0
fkey_dyTINYINT UNSIGNEDPRI0
accntVARCHAR(16)PRI''SR Account default primary account associated with SRSE login
orderSideenum - BuySellPRI'None'Order side Values BuySell
groupingCodeCHAR(19)PRI'0000-0000-0000-0000'Client supplied order
clientFirmVARCHAR(16)PRI''
spdrActionTypeenum - SpdrActionType'Add'Add new order AddReplace add or replace order Cancel cxl existing Replace update existing only Release modify order active size
altOrderIdVARCHAR(24)''Alternate client order ID This order ID will be copied to all execution reports
altAccntVARCHAR(32)''alternate client assigned long account string optional used to map between client and SR account strings
altUserNameVARCHAR(24)''alternate client assigned user name optional used to map between client and SR account strings
execBrkrCodeVARCHAR(16)''optional override the default execBrkrCode for this order
externExDestVARCHAR(16)''routing code for orders directed to an external order router default null should match FixRoutingTabledestination in SR accnt config
externParamsTINYTEXT''external algo namesparameters usually just an algo name
strategyVARCHAR(36)''Client strategy string This value will appear on the SR Trade Monitor and in execution reports
orderDttmDATETIME(6)'1900-01-01 00:00:00.000000'order entry time from clientif any
orderSizeINT-1parent order size contracts 1 no changeused when spdrActionTypeRelease
orderActiveSizeINT-1total activated size total size released for execution 1 all size available 0 stagedlocked order
addCumFillQuantityenum - YesNo'No'If Yes then OrderSize is calculated order arrival as requested OrderSize existing CumFillQuantity
maxExposureSizeINT-1maximum simultaneous cumulative child order public size exposure 1 orderActiveSize order can overfill if orderActiveSize and numMakeExchanges 1
numMakeExchangesTINYINT UNSIGNED1number of exchanges 1 4 on which to publish public making orders Effective number might be less than requested number if sufficient exchanges are not available
publicSizeenum - PublicSizeHandling'None'public order size handling Noneuse default size handling usually limits public size to typical market size Randomizerandomize public size MktSizeexpose only typical market size FullSizeexpose entire order size where possible
randomizeSizeenum - YesNo'Yes'randomize public order size
canOverlapCxlReplenum - YesNo'No'can execution engines overlap cancelreplace operations order can overfill if YES at most one active overlapping cxlreplace operation for each parent order
progressRuleenum - ProgressRule'None'None all size immediately availableTWAP size released in time intervalsVWAP size released in volume intervals
twapSliceCntTINYINT UNSIGNED0ProgressSliceCnt number of progress slices to use if none given will compute based on active size and duration max 20
progressExposeTimeINT0minimum time secs to expose order 0 no minimum used to guarantee that the order is exposed at midmarket for some time before actively taking
vwapParticipationFLOAT0.10target vwap participation rate target of trade activity
auctionResponderenum - AuctionResponder'None'if set parent order can be an auction responder
triggerTypeenum - TriggerType'None'type of trigger PrintVolSurfVol only for options print print or actionable quote
triggerLevelFLOAT0stoptrigger price for parent order to go active
cxlUPrcRangeenum - UPrcCxl'None'cancel parent order ifwhen outside minmax uPrc range Halt also cancel if the securityunderlier has been halted
minUBidFLOAT0optional
maxUAskFLOAT0optional 001 none
minMaxTypeenum - MinMaxType'Prc'if Prc minUBidmaxUAsk are expressed as prices if Pct then they are expresses as pct change since parent order arrival
maxChildOrdersINT1000maximum number of child orders that can be generated by this parent order order will terminate ifwhen this cap is reachedzero or neg unlimited
spdrStageTypeenum - SpdrStageType'None'SizeLock stage pending modification can reduce size SizeModify stage pending modification can increasereduce size
marketSessionenum - MarketSession'RegMkt'
startDttmDATETIME(6)'2000-01-01'optional parent order start time
orderDurationINT-1optional number of seconds
activeDurationINT-1
goodTillDttmDATETIME(6)'2000-01-01'optional default 20000101
startTypeenum - StartType'None'WaitTrigger
parentOrderHandlingenum - ParentOrderHandling'ActiveTaker'
parentBalanceHandlingenum - ParentBalanceHandling'PostLimit'
orderLimitTypeenum - SpdrLimitType'Market'Various Market Prc etc establishes the primary LimitPrice for a parent order
takeLimitClassenum - SpdrLimitClass'Simple'Simple LimitPrice Probability BESTLimitPrice ProbLimit
makeLimitClassenum - SpdrLimitClass'Simple'Simple LimitPrice Probability BESTLimitPrice ProbLimit
takeReachRuleenum - ReachRule'None'None reach room immediately available Delayed available after 13 seconds Passive available if contra side aggresses WeakOnly only take if available size avgMarketSize ISOSweep Intermarket Sweep requires WaitTrigger
orderPrcLimitDOUBLE0Applies if LimitType Prc
orderPrcOffsetDOUBLE0default0
takeAlphaTypeenum - AlphaType'None'Applies if takeLimitClass Probability
makeAlphaTypeenum - AlphaType'None'Applies if makeLimitClass Probability
takeAlphaFactorFLOAT022 takeProbLimit MAXtakeProbability takeProbAvg takeAlphaFactor takeProbStd if takeAlphaType Relative
makeAlphaFactorFLOAT022 makeProbLimit MAXmakeProbability makeProbAvg makeAlphaFactor makeProbStd if makeAlphaType Relative
takeProbabilityFLOAT0takeProbLimit takeProbability if takeAlphaType Static
makeProbabilityFLOAT0makeProbLimit makeProbability if makeAlphaType Static
autoHedgeenum - AutoHedge'None'
hedgeSecKey_atenum - AssetType'EQT'autohedge instrument either TickerKey or ExpiryKey hedgeSecKey cannot equal orderFKey
hedgeSecKey_tsenum - TickerSrc'NMS'autohedge instrument either TickerKey or ExpiryKey hedgeSecKey cannot equal orderFKey
hedgeSecKey_tkVARCHAR(12)''autohedge instrument either TickerKey or ExpiryKey hedgeSecKey cannot equal orderFKey
hedgeSecKey_yrSMALLINT UNSIGNED1900autohedge instrument either TickerKey or ExpiryKey hedgeSecKey cannot equal orderFKey
hedgeSecKey_mnTINYINT UNSIGNED1autohedge instrument either TickerKey or ExpiryKey hedgeSecKey cannot equal orderFKey
hedgeSecKey_dyTINYINT UNSIGNED1autohedge instrument either TickerKey or ExpiryKey hedgeSecKey cannot equal orderFKey
hedgeSecTypeenum - SpdrKeyType'None'None Stock or Future
hedgeBetaRatioFLOAT1.0Portion of executed money to autohedge can be 10 Beta for beta hedging 40 to 40 note 00 will be interpreted as 10
hedgeScopeenum - HedgeScope'RiskGroup'Autohedge at the RiskGroup or Accnt level
hedgeSessionenum - MarketSession'RegMkt'
positionTypeenum - PositionType'Auto'
riskGroupIdCHAR(19)'0000-0000-0000-0000'All group grp risk limits below are relative to this riskGroupId Default 0 none Required to be nonzero if autoHedge is something other than None
reqAuxRiskGroupCtrlenum - YesNo'None'
symDayDDeltaOffsetFLOAT-1max acctsymbol day delta offset target
maxSymDayDDeltaLnFLOAT-1max acctsymbol day delta long positive number1no limitrisk limit max limit current net counter offset
maxSymDayDDeltaShFLOAT-1max acctsymbol day delta short positive number1no limitrisk limit max limit current net counter offset
maxGrpDayDDeltaLnFLOAT-1max acctriskGroup day delta long positive number1no limitrisk limit max limit current net counter
maxGrpDayDDeltaShFLOAT-1max acctriskGroup day delta short positive number1no limitrisk limit max limit current net counter
maxGrpDayContractsLnINT-1max acctriskGroup day opt contracts long positive number1no limitrisk limit max limit current net counter
maxGrpDayContractsShINT-1max acctriskGroup day opt contracts short positive number1no limitrisk limit max limit current net counter
maxGrpDayContractsAbsINT-1max acctriskGroup day opt contracts abs positive number1no limitrisk limit max limit abscurrent net counter
maxGrpDayRMetric1LnFLOAT-1max acctriskGroup day rMetric1 long positive number1no limitrisk limit max limit current net counter
maxGrpDayRMetric1ShFLOAT-1max acctriskGroup day rMetric1 short positive number1no limitrisk limit max limit current net counter
maxGrpDayRMetric1AbsFLOAT-1max acctriskGroup day rMetric1 abs positive number1no limitrisk limit max limit abscurrent net counter
grpDayRMetric1RatioFLOAT1.0target bot sld ratio eg ratio05 means that neutral is bot rMetric1 05x sld rMetric1
traderNameVARCHAR(32)''Name of the trader associated with the order
userData1TINYTEXT''client supplied data field passes through to parent and child executions and reports as well as FIX drops
userData2TINYTEXT''client supplied data field passes through to parent and child executions and reports as well as FIX drops
childDataTINYTEXT''client supplied data field passes through to down stream child orders
checksumTINYINT UNSIGNED0Must be set to 13 This helps detect some columnvalue misalignments

PRIMARY KEY DEFINITION (Unique)

FieldSequence
fkey_tk1
fkey_yr2
fkey_mn3
fkey_dy4
fkey_at5
fkey_ts6
accnt7
orderSide8
groupingCode9
clientFirm10

CREATE TABLE EXAMPLE QUERY

CREATE TABLE `SRTrade`.`MsgFutOrderGateway` (
`fkey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None',
`fkey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'None',
`fkey_tk` VARCHAR(12) NOT NULL DEFAULT '',
`fkey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 0,
`fkey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`fkey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 0,
`accnt` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'SR Account (default = primary account associated with SRSE login)',
`orderSide` ENUM('None','Buy','Sell') NOT NULL DEFAULT 'None' COMMENT 'Order side. Values: Buy/Sell.',
`groupingCode` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000' COMMENT 'Client supplied order',
`clientFirm` VARCHAR(16) NOT NULL DEFAULT '',
`spdrActionType` ENUM('Add','AddReplace','Replace','Cancel','Modify') NOT NULL DEFAULT 'Add' COMMENT '[Add (new order), AddReplace (add or replace order), Cancel (cxl existing), Replace (update existing only), Release (modify order active size)]',
`altOrderId` VARCHAR(24) NOT NULL DEFAULT '' COMMENT 'Alternate client order ID. This order ID will be copied to all execution reports.',
`altAccnt` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'alternate (client assigned) "long" account string (optional) [used to map between client and SR account strings]',
`altUserName` VARCHAR(24) NOT NULL DEFAULT '' COMMENT 'alternate (client assigned) user name (optional) [used to map between client and SR account strings]',
`execBrkrCode` VARCHAR(16) NOT NULL DEFAULT '' COMMENT '(optional) override the default execBrkrCode for this order',
`externExDest` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'routing code for orders directed to an external order router (default = null); should match FixRoutingTable.destination (in SR accnt config)',
`externParams` TINYTEXT NOT NULL DEFAULT '' COMMENT 'external algo names/parameters (usually just an algo name)',
`strategy` VARCHAR(36) NOT NULL DEFAULT '' COMMENT 'Client strategy string. This value will appear on the SR Trade Monitor and in execution reports.',
`orderDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT 'order entry time (from client;if any)',
`orderSize` INT NOT NULL DEFAULT -1 COMMENT 'parent order size (contracts) [-1 = no change;used when spdrActionType=Release]',
`orderActiveSize` INT NOT NULL DEFAULT -1 COMMENT 'total activated size (total size released for execution) (-1 = all size available; 0 = staged/locked order)',
`addCumFillQuantity` ENUM('Yes','No') NOT NULL DEFAULT 'No' COMMENT 'If Yes then OrderSize is calculated @ order arrival as requested OrderSize + existing ''CumFillQuantity''.',
`maxExposureSize` INT NOT NULL DEFAULT -1 COMMENT 'maximum simultaneous cumulative child order public size exposure (-1 = orderActiveSize) [order can overfill if > orderActiveSize and numMakeExchanges > 1]',
`numMakeExchanges` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'number of exchanges (1 - 4) on which to publish public making orders. Effective number might be less than requested number if sufficient exchanges are not available.',
`publicSize` ENUM('None','Randomize','MktSize','FullSize','MktSizeA','MktSizeB','MktSizeC','FullSizeR') NOT NULL DEFAULT 'None' COMMENT 'public order size handling: None=use default size handling (usually limits public size to ''typical'' market size); Randomize=randomize public size; MktSize=expose only ''typical'' market size; FullSize=expose entire order size where possible',
`randomizeSize` ENUM('Yes','No') NOT NULL DEFAULT 'Yes' COMMENT 'randomize public order size',
`canOverlapCxlRepl` ENUM('Yes','No') NOT NULL DEFAULT 'No' COMMENT 'can execution engines overlap cancel/replace operations [order can overfill if YES] (at most one active overlapping cxl/replace operation for each parent order)',
`progressRule` ENUM('None','Twap','Vwap','TwapReset','VwapReset','FastReset','SlowReset','TwapAlpha','VwapAlpha','TwapAlphaC','VwapAlphaC','AutoComplete','AllowImmediate','Manual','SpdrPulse','IOC') NOT NULL DEFAULT 'None' COMMENT 'None = all size immediately available;TWAP = size released in time intervals;VWAP = size released in volume intervals;',
`twapSliceCnt` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '[ProgressSliceCnt] number of progress slices to use. if none given will compute based on active size and duration. [max 20]',
`progressExposeTime` INT NOT NULL DEFAULT 0 COMMENT 'minimum time (secs) to expose order (0 = no minimum; used to guarantee that the order is exposed at mid-market for some time before actively taking)',
`vwapParticipation` FLOAT NOT NULL DEFAULT 0.10 COMMENT 'target vwap participation rate (target % of trade activity)',
`auctionResponder` ENUM('None','Any') NOT NULL DEFAULT 'None' COMMENT 'if set, parent order can be an auction responder',
`triggerType` ENUM('None','PrintPrc','PrintVol','SurfVol','PrtSurfVol') NOT NULL DEFAULT 'None' COMMENT 'type of trigger (PrintVol/SurfVol only for options) [print = print or actionable quote]',
`triggerLevel` FLOAT NOT NULL DEFAULT 0 COMMENT 'stop/trigger price for parent order to go active',
`cxlUPrcRange` ENUM('None','Yes','No','YesHalt','NoHalt') NOT NULL DEFAULT 'None' COMMENT 'cancel parent order if/when outside min/max uPrc range [_Halt = also cancel if the security/underlier has been halted]',
`minUBid` FLOAT NOT NULL DEFAULT 0 COMMENT '[optional]',
`maxUAsk` FLOAT NOT NULL DEFAULT 0 COMMENT '[optional] (< $0.01 = none)',
`minMaxType` ENUM('None','Prc','Pct') NOT NULL DEFAULT 'Prc' COMMENT 'if Prc minUBid/maxUAsk are expressed as prices; if Pct then they are expresses as pct change since parent order arrival',
`maxChildOrders` INT NOT NULL DEFAULT 1000 COMMENT 'maximum number of child orders that can be generated by this parent order [order will terminate if/when this cap is reached;zero or neg = unlimited]',
`spdrStageType` ENUM('None','ModifyAny','ModifyAlgo') NOT NULL DEFAULT 'None' COMMENT 'SizeLock = stage pending modification (can reduce size); SizeModify = stage pending modification (can increase/reduce size)',
`marketSession` ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') NOT NULL DEFAULT 'RegMkt',
`startDttm` DATETIME(6) NOT NULL DEFAULT '2000-01-01' COMMENT '[optional] (parent order start time)',
`orderDuration` INT NOT NULL DEFAULT -1 COMMENT '[optional] (number of seconds)',
`activeDuration` INT NOT NULL DEFAULT -1,
`goodTillDttm` DATETIME(6) NOT NULL DEFAULT '2000-01-01' COMMENT '[optional] (default: 2000-01-01)',
`startType` ENUM('None','WaitTrigger') NOT NULL DEFAULT 'None' COMMENT '[WaitTrigger]',
`parentOrderHandling` ENUM('None','ActiveTaker','PostOnly','DMA','MktOnOpn','MktOnCls','Facilitate','Matrix','Legger','Seeker','SeekerLegger','CrossResponse','AuctionResponse','MLegAuctionResp','RFQRequest','AwayAlgo','ExchPing','BlockAuction','BlockResponse','SweepTake','CobMaker','FaceOmni','TestParent') NOT NULL DEFAULT 'ActiveTaker',
`parentBalanceHandling` ENUM('None','PostWith','PostTurn','PostImprove','PostLimit','MaxIntern','PostWthF','PostImprvR','PostFlash','PostFlashW','PostPeg','PostFlashI') NOT NULL DEFAULT 'PostLimit',
`orderLimitType` ENUM('Market','MarketArrival','Prc','RelMid','RelJoin','RelCross','RelTurn','SmrtFast','SmrtNorm','Aux') NOT NULL DEFAULT 'Market' COMMENT 'Various (Market, Prc, etc.); establishes the primary LimitPrice for a parent order',
`takeLimitClass` ENUM('Simple','Probability') NOT NULL DEFAULT 'Simple' COMMENT 'Simple = LimitPrice, Probability = BEST(LimitPrice, ProbLimit)',
`makeLimitClass` ENUM('Simple','Probability') NOT NULL DEFAULT 'Simple' COMMENT 'Simple = LimitPrice, Probability = BEST(LimitPrice, ProbLimit)',
`takeReachRule` ENUM('None','Delayed','Passive','WeakOnly','RespondOnly','FullSize','ISOSweep','AllOrNone','QtyOrMore','UpToQty','AtMost25','AtMost50','MinTakeFee') NOT NULL DEFAULT 'None' COMMENT 'None = reach room immediately available; Delayed = available after [1-3] seconds; Passive = available if contra side aggresses; WeakOnly = only take if available size < avgMarketSize; ISOSweep = Intermarket Sweep [requires WaitTrigger]',
`orderPrcLimit` DOUBLE NOT NULL DEFAULT 0 COMMENT 'Applies if LimitType = Prc[]',
`orderPrcOffset` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=0',
`takeAlphaType` ENUM('None','Static','Eagle','Hawk','Falcon','Relative') NOT NULL DEFAULT 'None' COMMENT 'Applies if takeLimitClass = Probability',
`makeAlphaType` ENUM('None','Static','Eagle','Hawk','Falcon','Relative') NOT NULL DEFAULT 'None' COMMENT 'Applies if makeLimitClass = Probability',
`takeAlphaFactor` FLOAT NOT NULL DEFAULT 0 COMMENT '[-2,+2] takeProbLimit = MAX(takeProbability, takeProbAvg + takeAlphaFactor * takeProbStd) [if takeAlphaType = Relative]',
`makeAlphaFactor` FLOAT NOT NULL DEFAULT 0 COMMENT '[-2,+2] makeProbLimit = MAX(makeProbability, makeProbAvg + makeAlphaFactor * makeProbStd) [if makeAlphaType = Relative]',
`takeProbability` FLOAT NOT NULL DEFAULT 0 COMMENT 'takeProbLimit = takeProbability [if takeAlphaType = Static]',
`makeProbability` FLOAT NOT NULL DEFAULT 0 COMMENT 'makeProbLimit = makeProbability [if makeAlphaType = Static]',
`autoHedge` ENUM('None','Static','AutoMid','AutoCrx','AutoTrn','SpdrAuto','Spdr10S','Spdr30S','Spdr90S','Spdr5M','Spdr30M','SpdrDay','SmartFast','SmartNorm','FastCrx','FastDark','SlowDark','AlphaVwap1pct','AlphaVwap2pct','AlphaVwap5pct','AlphaVwap25pct','Custom','AwayAlgo') NOT NULL DEFAULT 'None',
`hedgeSecKey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'EQT' COMMENT 'auto-hedge instrument (either TickerKey or ExpiryKey) [hedgeSecKey cannot equal order.FKey]',
`hedgeSecKey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'NMS' COMMENT 'auto-hedge instrument (either TickerKey or ExpiryKey) [hedgeSecKey cannot equal order.FKey]',
`hedgeSecKey_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'auto-hedge instrument (either TickerKey or ExpiryKey) [hedgeSecKey cannot equal order.FKey]',
`hedgeSecKey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 1900 COMMENT 'auto-hedge instrument (either TickerKey or ExpiryKey) [hedgeSecKey cannot equal order.FKey]',
`hedgeSecKey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'auto-hedge instrument (either TickerKey or ExpiryKey) [hedgeSecKey cannot equal order.FKey]',
`hedgeSecKey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'auto-hedge instrument (either TickerKey or ExpiryKey) [hedgeSecKey cannot equal order.FKey]',
`hedgeSecType` ENUM('None','Stock','Future') NOT NULL DEFAULT 'None' COMMENT 'None, Stock, or Future',
`hedgeBetaRatio` FLOAT NOT NULL DEFAULT 1.0 COMMENT 'Portion of executed $money to auto-hedge (can be 1.0 / Beta for beta hedging) [-4.0 to +4.0] (note: 0.0 will be interpreted as 1.0)',
`hedgeScope` ENUM('None','Accnt','RiskGroup') NOT NULL DEFAULT 'RiskGroup' COMMENT 'Auto-hedge at the RiskGroup or Accnt level',
`hedgeSession` ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') NOT NULL DEFAULT 'RegMkt',
`positionType` ENUM('None','Opening','Closing','Auto') NOT NULL DEFAULT 'Auto',
`riskGroupId` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000' COMMENT 'All group (grp) risk limits below are relative to this riskGroupId. Default: 0 (none). Required to be non-zero if `autoHedge` is something other than None.',
`reqAuxRiskGroupCtrl` ENUM('None','Yes','No') NOT NULL DEFAULT 'None',
`symDayDDeltaOffset` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day $delta offset (target)',
`maxSymDayDDeltaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day $delta long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxSymDayDDeltaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day $delta short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`maxGrpDayDDeltaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day $delta long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayDDeltaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day $delta short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayContractsLn` INT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day opt contracts long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayContractsSh` INT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day opt contracts short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayContractsAbs` INT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day opt contracts abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter)',
`maxGrpDayRMetric1Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric1 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric1Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric1 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric1Abs` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric1 abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter)',
`grpDayRMetric1Ratio` FLOAT NOT NULL DEFAULT 1.0 COMMENT 'target bot / sld ratio (eg ratio=0.5 means that neutral is bot rMetric1 = 0.5x sld rMetric1)',
`traderName` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'Name of the trader associated with the order',
`userData1` TINYTEXT NOT NULL DEFAULT '' COMMENT 'client supplied data field; passes through to parent and child executions and reports as well as FIX drops',
`userData2` TINYTEXT NOT NULL DEFAULT '' COMMENT 'client supplied data field; passes through to parent and child executions and reports as well as FIX drops',
`childData` TINYTEXT NOT NULL DEFAULT '' COMMENT 'client supplied data field; passes through to down stream child orders',
`checksum` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Must be set to 13. This helps detect some column/value misalignments.',
CONSTRAINT nonnegative_groupingCode CHECK(ASCII(groupingCode) < 56),
CONSTRAINT nonnegative_riskGroupId CHECK(ASCII(riskGroupId) < 56),
PRIMARY KEY USING HASH (`fkey_tk`,`fkey_yr`,`fkey_mn`,`fkey_dy`,`fkey_at`,`fkey_ts`,`accnt`,`orderSide`,`groupingCode`,`clientFirm`)
) ENGINE=SRSE DEFAULT CHARSET=LATIN1 COMMENT='Records inserted, updated, or replaced into the FutureOrderGateway table are validated and then converted to SpdrParentOrder records and forwarded to the appropriate execution engine for futher processing. Parent orders can be inserted as either active/ready or in a wait start mode that requires subsequent release.\nSee the SpiderRock Execution Engine concept guide for more details.';

SELECT TABLE EXAMPLE QUERY

SELECT
`fkey_at`,
`fkey_ts`,
`fkey_tk`,
`fkey_yr`,
`fkey_mn`,
`fkey_dy`,
`accnt`,
`orderSide`,
`groupingCode`,
`clientFirm`,
`spdrActionType`,
`altOrderId`,
`altAccnt`,
`altUserName`,
`execBrkrCode`,
`externExDest`,
`externParams`,
`strategy`,
`orderDttm`,
`orderSize`,
`orderActiveSize`,
`addCumFillQuantity`,
`maxExposureSize`,
`numMakeExchanges`,
`publicSize`,
`randomizeSize`,
`canOverlapCxlRepl`,
`progressRule`,
`twapSliceCnt`,
`progressExposeTime`,
`vwapParticipation`,
`auctionResponder`,
`triggerType`,
`triggerLevel`,
`cxlUPrcRange`,
`minUBid`,
`maxUAsk`,
`minMaxType`,
`maxChildOrders`,
`spdrStageType`,
`marketSession`,
`startDttm`,
`orderDuration`,
`activeDuration`,
`goodTillDttm`,
`startType`,
`parentOrderHandling`,
`parentBalanceHandling`,
`orderLimitType`,
`takeLimitClass`,
`makeLimitClass`,
`takeReachRule`,
`orderPrcLimit`,
`orderPrcOffset`,
`takeAlphaType`,
`makeAlphaType`,
`takeAlphaFactor`,
`makeAlphaFactor`,
`takeProbability`,
`makeProbability`,
`autoHedge`,
`hedgeSecKey_at`,
`hedgeSecKey_ts`,
`hedgeSecKey_tk`,
`hedgeSecKey_yr`,
`hedgeSecKey_mn`,
`hedgeSecKey_dy`,
`hedgeSecType`,
`hedgeBetaRatio`,
`hedgeScope`,
`hedgeSession`,
`positionType`,
`riskGroupId`,
`reqAuxRiskGroupCtrl`,
`symDayDDeltaOffset`,
`maxSymDayDDeltaLn`,
`maxSymDayDDeltaSh`,
`maxGrpDayDDeltaLn`,
`maxGrpDayDDeltaSh`,
`maxGrpDayContractsLn`,
`maxGrpDayContractsSh`,
`maxGrpDayContractsAbs`,
`maxGrpDayRMetric1Ln`,
`maxGrpDayRMetric1Sh`,
`maxGrpDayRMetric1Abs`,
`grpDayRMetric1Ratio`,
`traderName`,
`userData1`,
`userData2`,
`childData`,
`checksum`
FROM `SRTrade`.`MsgFutOrderGateway`
WHERE
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') */
`fkey_at` = 'None'
AND
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') */
`fkey_ts` = 'None'
AND
/* Replace with a VARCHAR(12) */
`fkey_tk` = 'Example_fkey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`fkey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`fkey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`fkey_dy` = 1
AND
/* Replace with a VARCHAR(16) */
`accnt` = 'Example_accnt'
AND
/* Replace with a ENUM('None','Buy','Sell') */
`orderSide` = 'None'
AND
/* Replace with a CHAR(19) */
`groupingCode` = 'Example_groupingCode'
AND
/* Replace with a VARCHAR(16) */
`clientFirm` = 'Example_clientFirm';

INSERT TABLE EXAMPLE QUERY

INSERT INTO `SRTrade`.`MsgFutOrderGateway`(
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') */
`fkey_at`,
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') */
`fkey_ts`,
/* Replace with a VARCHAR(12) */
`fkey_tk`,
/* Replace with a SMALLINT UNSIGNED */
`fkey_yr`,
/* Replace with a TINYINT UNSIGNED */
`fkey_mn`,
/* Replace with a TINYINT UNSIGNED */
`fkey_dy`,
/* Replace with a VARCHAR(16) */
`accnt`,
/* Replace with a ENUM('None','Buy','Sell') */
`orderSide`,
/* Replace with a CHAR(19) */
`groupingCode`,
/* Replace with a VARCHAR(16) */
`clientFirm`,
/* Replace with a ENUM('Add','AddReplace','Replace','Cancel','Modify') */
`spdrActionType`,
/* Replace with a VARCHAR(24) */
`altOrderId`,
/* Replace with a VARCHAR(32) */
`altAccnt`,
/* Replace with a VARCHAR(24) */
`altUserName`,
/* Replace with a VARCHAR(16) */
`execBrkrCode`,
/* Replace with a VARCHAR(16) */
`externExDest`,
/* Replace with a TINYTEXT */
`externParams`,
/* Replace with a VARCHAR(36) */
`strategy`,
/* Replace with a DATETIME(6) */
`orderDttm`,
/* Replace with a INT */
`orderSize`,
/* Replace with a INT */
`orderActiveSize`,
/* Replace with a ENUM('Yes','No') */
`addCumFillQuantity`,
/* Replace with a INT */
`maxExposureSize`,
/* Replace with a TINYINT UNSIGNED */
`numMakeExchanges`,
/* Replace with a ENUM('None','Randomize','MktSize','FullSize','MktSizeA','MktSizeB','MktSizeC','FullSizeR') */
`publicSize`,
/* Replace with a ENUM('Yes','No') */
`randomizeSize`,
/* Replace with a ENUM('Yes','No') */
`canOverlapCxlRepl`,
/* Replace with a ENUM('None','Twap','Vwap','TwapReset','VwapReset','FastReset','SlowReset','TwapAlpha','VwapAlpha','TwapAlphaC','VwapAlphaC','AutoComplete','AllowImmediate','Manual','SpdrPulse','IOC') */
`progressRule`,
/* Replace with a TINYINT UNSIGNED */
`twapSliceCnt`,
/* Replace with a INT */
`progressExposeTime`,
/* Replace with a FLOAT */
`vwapParticipation`,
/* Replace with a ENUM('None','Any') */
`auctionResponder`,
/* Replace with a ENUM('None','PrintPrc','PrintVol','SurfVol','PrtSurfVol') */
`triggerType`,
/* Replace with a FLOAT */
`triggerLevel`,
/* Replace with a ENUM('None','Yes','No','YesHalt','NoHalt') */
`cxlUPrcRange`,
/* Replace with a FLOAT */
`minUBid`,
/* Replace with a FLOAT */
`maxUAsk`,
/* Replace with a ENUM('None','Prc','Pct') */
`minMaxType`,
/* Replace with a INT */
`maxChildOrders`,
/* Replace with a ENUM('None','ModifyAny','ModifyAlgo') */
`spdrStageType`,
/* Replace with a ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') */
`marketSession`,
/* Replace with a DATETIME(6) */
`startDttm`,
/* Replace with a INT */
`orderDuration`,
/* Replace with a INT */
`activeDuration`,
/* Replace with a DATETIME(6) */
`goodTillDttm`,
/* Replace with a ENUM('None','WaitTrigger') */
`startType`,
/* Replace with a ENUM('None','ActiveTaker','PostOnly','DMA','MktOnOpn','MktOnCls','Facilitate','Matrix','Legger','Seeker','SeekerLegger','CrossResponse','AuctionResponse','MLegAuctionResp','RFQRequest','AwayAlgo','ExchPing','BlockAuction','BlockResponse','SweepTake','CobMaker','FaceOmni','TestParent') */
`parentOrderHandling`,
/* Replace with a ENUM('None','PostWith','PostTurn','PostImprove','PostLimit','MaxIntern','PostWthF','PostImprvR','PostFlash','PostFlashW','PostPeg','PostFlashI') */
`parentBalanceHandling`,
/* Replace with a ENUM('Market','MarketArrival','Prc','RelMid','RelJoin','RelCross','RelTurn','SmrtFast','SmrtNorm','Aux') */
`orderLimitType`,
/* Replace with a ENUM('Simple','Probability') */
`takeLimitClass`,
/* Replace with a ENUM('Simple','Probability') */
`makeLimitClass`,
/* Replace with a ENUM('None','Delayed','Passive','WeakOnly','RespondOnly','FullSize','ISOSweep','AllOrNone','QtyOrMore','UpToQty','AtMost25','AtMost50','MinTakeFee') */
`takeReachRule`,
/* Replace with a DOUBLE */
`orderPrcLimit`,
/* Replace with a DOUBLE */
`orderPrcOffset`,
/* Replace with a ENUM('None','Static','Eagle','Hawk','Falcon','Relative') */
`takeAlphaType`,
/* Replace with a ENUM('None','Static','Eagle','Hawk','Falcon','Relative') */
`makeAlphaType`,
/* Replace with a FLOAT */
`takeAlphaFactor`,
/* Replace with a FLOAT */
`makeAlphaFactor`,
/* Replace with a FLOAT */
`takeProbability`,
/* Replace with a FLOAT */
`makeProbability`,
/* Replace with a ENUM('None','Static','AutoMid','AutoCrx','AutoTrn','SpdrAuto','Spdr10S','Spdr30S','Spdr90S','Spdr5M','Spdr30M','SpdrDay','SmartFast','SmartNorm','FastCrx','FastDark','SlowDark','AlphaVwap1pct','AlphaVwap2pct','AlphaVwap5pct','AlphaVwap25pct','Custom','AwayAlgo') */
`autoHedge`,
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') */
`hedgeSecKey_at`,
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') */
`hedgeSecKey_ts`,
/* Replace with a VARCHAR(12) */
`hedgeSecKey_tk`,
/* Replace with a SMALLINT UNSIGNED */
`hedgeSecKey_yr`,
/* Replace with a TINYINT UNSIGNED */
`hedgeSecKey_mn`,
/* Replace with a TINYINT UNSIGNED */
`hedgeSecKey_dy`,
/* Replace with a ENUM('None','Stock','Future') */
`hedgeSecType`,
/* Replace with a FLOAT */
`hedgeBetaRatio`,
/* Replace with a ENUM('None','Accnt','RiskGroup') */
`hedgeScope`,
/* Replace with a ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') */
`hedgeSession`,
/* Replace with a ENUM('None','Opening','Closing','Auto') */
`positionType`,
/* Replace with a CHAR(19) */
`riskGroupId`,
/* Replace with a ENUM('None','Yes','No') */
`reqAuxRiskGroupCtrl`,
/* Replace with a FLOAT */
`symDayDDeltaOffset`,
/* Replace with a FLOAT */
`maxSymDayDDeltaLn`,
/* Replace with a FLOAT */
`maxSymDayDDeltaSh`,
/* Replace with a FLOAT */
`maxGrpDayDDeltaLn`,
/* Replace with a FLOAT */
`maxGrpDayDDeltaSh`,
/* Replace with a INT */
`maxGrpDayContractsLn`,
/* Replace with a INT */
`maxGrpDayContractsSh`,
/* Replace with a INT */
`maxGrpDayContractsAbs`,
/* Replace with a FLOAT */
`maxGrpDayRMetric1Ln`,
/* Replace with a FLOAT */
`maxGrpDayRMetric1Sh`,
/* Replace with a FLOAT */
`maxGrpDayRMetric1Abs`,
/* Replace with a FLOAT */
`grpDayRMetric1Ratio`,
/* Replace with a VARCHAR(32) */
`traderName`,
/* Replace with a TINYTEXT */
`userData1`,
/* Replace with a TINYTEXT */
`userData2`,
/* Replace with a TINYTEXT */
`childData`,
/* Replace with a TINYINT UNSIGNED */
`checksum`
)
VALUES(
'None',
'None',
'Example_fkey_tk',
123,
1,
1,
'Example_accnt',
'None',
'Example_groupingCode',
'Example_clientFirm',
'Add',
'Example_altOrderId',
'Example_altAccnt',
'Example_altUserName',
'Example_execBrkrCode',
'Example_externExDest',
'dummy tiny text',
'Example_strategy',
'2022-01-01 12:34:56.000000',
5,
5,
'No',
5,
1,
'None',
'Yes',
'No',
'None',
1,
5,
1.23,
'None',
'None',
1.23,
'None',
1.23,
1.23,
'Prc',
5,
'None',
'RegMkt',
'2022-01-01 12:34:56.000000',
5,
5,
'2022-01-01 12:34:56.000000',
'None',
'ActiveTaker',
'PostLimit',
'Market',
'Simple',
'Simple',
'None',
4.56,
4.56,
'None',
'None',
1.23,
1.23,
1.23,
1.23,
'None',
'EQT',
'NMS',
'Example_hedgeSecKey_tk',
123,
1,
1,
'None',
1.23,
'RiskGroup',
'RegMkt',
'Auto',
'Example_riskGroupId',
'None',
1.23,
1.23,
1.23,
1.23,
1.23,
5,
5,
5,
1.23,
1.23,
1.23,
1.23,
'Example_traderName',
'dummy tiny text',
'dummy tiny text',
'dummy tiny text',
1
);

DELETE TABLE EXAMPLE QUERY

DELETE FROM `SRTrade`.`MsgFutOrderGateway` 
WHERE
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') */
`fkey_at` = 'None'
AND
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','ESX','ANY','CXE','DXE','NXAM','NXBR','NXDUB','NXLS','NXLDN','NXML','NXMLT','NXOS','NXP','EUREX','CEDX','ICEFE') */
`fkey_ts` = 'None'
AND
/* Replace with a VARCHAR(12) */
`fkey_tk` = 'Example_fkey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`fkey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`fkey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`fkey_dy` = 1
AND
/* Replace with a VARCHAR(16) */
`accnt` = 'Example_accnt'
AND
/* Replace with a ENUM('None','Buy','Sell') */
`orderSide` = 'None'
AND
/* Replace with a CHAR(19) */
`groupingCode` = 'Example_groupingCode'
AND
/* Replace with a VARCHAR(16) */
`clientFirm` = 'Example_clientFirm';

Doc Columns Query

SELECT * FROM SRTrade.doccolumns WHERE TABLE_NAME='FutOrderGateway' ORDER BY ordinal_position ASC;